STM32 – PWM complementary output exemple

GPIO_InitTypeDef GPIO_RGB_InitStruct; TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig; __HAL_RCC_GPIOB_CLK_ENABLE(); // PB7 – TIMER17 GPIO_RGB_InitStruct.Pin = GPIO_PIN_7; GPIO_RGB_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_RGB_InitStruct.Pull = GPIO_NOPULL; GPIO_RGB_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; GPIO_RGB_InitStruct.Alternate = GPIO_AF2_TIM17; HAL_GPIO_Init(GPIOB, &GPIO_RGB_InitStruct); __HAL_RCC_TIM17_CLK_ENABLE(); // Init TIMER17 for 800KHz frequency // 48MHz/(19+1)/(2+1) = 800Khz TIMER_RGB_InitStruct.Instance = TIM17; TIMER_RGB_InitStruct.Init.Prescaler = 0; TIMER_RGB_InitStruct.Init.CounterMode = TIM_COUNTERMODE_UP; TIMER_RGB_InitStruct.Init.Period = 59; TIMER_RGB_InitStruct.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_Base_Init(&TIMER_RGB_InitStruct); HAL_TIM_PWM_Init(&TIMER_RGB_InitStruct); // … Continue reading STM32 – PWM complementary output exemple